←Select platform

RequestFields Constructor(string,Dictionary<string,string>,string[])

Summary
Initializes a new instance of the RequestFields class.

Syntax
C#
C++/CLI
Python
public RequestFields( 
   string Uri, 
   Dictionary<string, string> args, 
   string[] clientAcceptTypes 
) 
public: 
RequestFields(  
   String^ Uri, 
   Dictionary<String^,String^>^ args, 
   array<String^>^ clientAcceptTypes 
) 
__init__(self,Uri,Dictionary<string,args,clientAcceptTypes) # Overloaded constructor 

Parameters

Uri
The Uri of the host server.

args
The client request JPIP arguments.

clientAcceptTypes
The client accepted return types.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Jpip; 
using Leadtools.Jpip.Caching; 
using Leadtools.Jpip.HttpServer; 
using Leadtools.Jpip.RequestDecoder; 
using Leadtools.Jpip.RequestEncoder; 
using Leadtools.Jpip.Client.WinForms; 
using Leadtools.Jpip.Client.InteractiveDecoder; 
using Leadtools.Jpip.Server; 
using Leadtools.Jpip.Logging; 
 
public void SendClientRequest() 
{ 
   Leadtools.Examples.Support.SetLicense(); 
   RequestFields fields = new RequestFields(); 
   ModelItem cacheModleItem; 
   ExplicitBinDescriptor binDescriptor; 
   ModelElement cacheModleElement; 
 
   fields.RequestTargetFields = new TargetFields("0", "image1.jp2", null); 
   fields.RequestChannelFields.NewChannel = new string[] { "http" }; 
   fields.RequestDataLimitFields.DataLength = 16384; 
   cacheModleItem = new ModelItem(); 
   binDescriptor = new ExplicitBinDescriptor(ExplicitBin.MetaBin, 0, null); //indicate that metadata bin 0 is locally cached and need not be sent. 
   cacheModleElement = new ModelElement(false, binDescriptor); 
   cacheModleItem.BinDescriptors.Add(cacheModleElement); 
   cacheModleItem.CodeStreamRange.Add(new Range(0, 0)); 
   fields.RequestCacheManagementFields.ModelItems.Add(cacheModleItem); 
   ImageReturnType imageType = new ImageReturnType(ImageTypes.JppStream, false); 
   fields.RequestServerControlFields.ImageReturnTypes = new ImageReturnType[] { imageType }; 
   fields.RequestViewWindowFields.FrameSize = new LeadSize(500, 300); 
   fields.RequestViewWindowFields.RegionOffset = new LeadPoint(0, 100); 
   fields.RequestViewWindowFields.FrameSizeRoundingDirection = RoundingDirection.Closest; 
   SampleRange codeStreamRange = new SampleRange(); 
   codeStreamRange.Range = new Range(0, 0); 
   fields.RequestViewWindowFields.CodeStream.Add(codeStreamRange); 
   HttpRequestEncoder encoder = new HttpRequestEncoder(IPAddress.Parse("127.0.0.1"), 108); 
   HttpWebRequest request = encoder.Encode(fields, "jpip", null); 
   Console.WriteLine(request.Address.ToString()); 
   HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
   Console.WriteLine("Server response received."); 
   Console.WriteLine(response.Headers.ToString()); 
} 
 
public Socket GetClientSocket() 
{ 
   Socket listenSocket = new Socket(AddressFamily.InterNetwork, 
                                     SocketType.Stream, 
                                     ProtocolType.Tcp); 
   IPAddress hostIP = IPAddress.Parse("127.0.0.1"); 
   int port = 107; 
   IPEndPoint ep = new IPEndPoint(hostIP, port); 
   listenSocket.Bind(ep); 
   // start listening 
   listenSocket.Listen(10); 
   //a client should send a request to the listening address 
   Socket client = listenSocket.Accept(); 
   listenSocket.Close(); 
   return client; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Jpip Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.